シャーロック・ホームズの創作者コナン・ドイル没日経由で知ったナレッジ推論チャレンジについてわかる範囲でトライしてみた
7月7日は七夕でもあり、クラスメソッド創業記念日でもあり、実はシャーロック・ホームズの創作者「アーサー・コナン・ドイル」の没日でもあります。9年後に100回忌となるようです。
そのアーサー・コナン・ドイルの短編小説、シャーロック・ホームズシリーズの一つで56ある短編小説から8番目に発表された「まだらの紐」について、ナレッジグラフで解き明かすというナレッジ推論チャレンジなるものがあります。なにがなにやらと思いますが、バズワードになりがちなAIにはこんな利用例もあるんだという驚きがあったので、紹介として書いてみました。
ナレッジ推論チャレンジについて
コナン・ドイルやシャーロックホームズについては割愛します。多分このブログを読んでいる方は知っているという前提にて。
ナレッジ推論チャレンジとはなんぞや、と思うことでしょう。私も思いました。以下のスライドを読むと概要がわかります。
探偵のような推理のできるAIを作り出す、ことですね。スライド中の開催期間から大幅に経過していますが、これは第一回のものです。2021年度も開催されますが、国内版は学生向けとされています。応募はできないけれど試行錯誤は自由、といった感じですね。
具体的にはどうやるの?
小説内の様々な状況を計算機で利用できる形(ナレッジグラフ化)にします。ナレッジグラフ化された約400場面を元に、情報技術を用いて推理・推論・推定するわけです。
ナレッジグラフは以下のリポジトリで公開されています。
このナレッジグラフをベースに推論を進めていきますが、中々イメージが湧きにくいのも確か。実例として、当時の受賞者の中からナレッジグラフを元に進めた応募者のスライドを挙げてみます。ベースを該当小説ドメインに限定しない形で進めた内容となっています。
わかる範囲でやってみる
紹介だけに終わるのもあれなので、何か触れる範囲で試すことにします。ナレッジグラフから検索するにはSPARQLに触れる必要があります。SPARQLについては以下のスライドを見ると概要がわかります。
何も分からないままトライした結果ナレッジ推論チャレンジに負荷を掛けすぎた、となるのも考えものなので、Wikipediaのデータ元になっているWikidataを利用します。これも同じくナレッジデータの集積された場所です。クエリは以下のサービスから実行可能です。
wikidata上のエントリー(entity)から目的の項目(prop)を指定して、一致する値(?o)を取得します。
select ?o where { <http://www.wikidata.org/entity/Q456157> <http://www.wikidata.org/prop/direct/P154> ?o . } limit 100
注意すべき点として、句の中で使えるスキーマは http
です。あと負荷軽減のため limit
は忘れずに付けましょう。このクエリ例から取れるものは以下の通りです。
クラスメソッド株式会社絡みのデータで何かしようと思ったものの、意外なことにWikipedia上に項目がありませんでした。代わりにこの例というわけです。
過去の受賞者の資料からたどるナレッジ推論チャレンジ
SPARQLからの推論チャレンジというところですが、まだまだハードルは高く感じます。まずは過去の受賞者によるレポートを見てみるのもよいかもしれません。
あとがき
単に振り返るよりも、7月7日的なネタはないかなと検索した結果コナン・ドイルの没日だとわかり、コナン・ドイルにまつわるチャレンジって何かないかなーと思ったところ見つけた企画でした。
ナレッジ推論チャレンジはなかなか遠いとしても、入り口のSPARQLは利用例として以下のスライドの内容等があります。気になったものから少しづつ手をつけるのもありだと思います。